/*

 */
package com.insigma.business.qrcode.soldier.dao;

import com.insigma.business.qrcode.soldier.entity.CachedObjDO;
import org.apache.ibatis.annotations.Param;


public interface CachedObjDao {

    
    CachedObjDO get(final String id);

    
    CachedObjDO getByKey(final String key);

    
    CachedObjDO getBySystemType1Key(@Param("systemType") final String systemType,
                         @Param("key") final String key);

    
    int insert(final CachedObjDO cachedObj);

    
    int update(final CachedObjDO cachedObj);

    
    int refreshTimeout(final CachedObjDO cachedObj);

    
    int delete(@Param("id") final String id, @Param("operatorType") final String operatorType,
               @Param("operatorId") final String operatorId);

    
    int deleteByCacheKey(@Param("cachedKey") final String cachedKey,
                         @Param("operatorType") final String operatorType,
                         @Param("operatorId") final String operatorId);


    
    int deletePhysically(@Param("id") final String id);

}
